package main

import (
	"fmt"
	"time"
)

/*
	并发编程、
	并行 同样的时间
	并发 不同时间
	go 关键字 实现并发 协成 线程里可以起多个协成
	全局变量   加锁
	channel  通道 初始化操作 无缓冲  阻塞   并发安全


*/
var lint int = 0
var chal chan int

func main() {
	chal = make(chan int, 100) //100 101

	fmt.Println("data:")

	//fmt.Println("lint:", lint)
	go func() {
		lint = 13
		chal <- 188
		fmt.Println("data3:")
	}()
	go func() {
		//chal <- 199
		//lint = 12
		fmt.Println("data2:")
		fmt.Println("chal1:", <-chal)
	}()
	ddd := <-chal
	//_ = ddd

	time.Sleep(1000)
	fmt.Println("lint:", lint)
	fmt.Println("ddd:", ddd)

}
